using System.Text;
using MathMLToCSharp.Builders;

namespace MathMLToCSharp.Entities
{
  /// <summary>
  /// This interface must be implemented by all types of expression
  /// objects in the tree.
  /// </summary>
  internal interface IBuildable
  {
    /// <summary>
    /// Builds a textual (C#) representation of the model existing at the root of this node.
    /// </summary>
    /// <param name="cb">The builder that aggregates the text.</param>
    /// <param name="bc">Run-time build information.</param>
    void Visit(CodeBuilder cb, BuildContext bc);
  }
}